1. Field of the Invention
Embodiments of the present invention relate generally to techniques for managing the flow of encoded media from various virtual machines to various associated clients through common packet switching and communication infrastructure. More specifically, a network appliance provides a common perceptual index to media encoders in order to manage the aggregate perceptual quality of media communicated across a shared channel.
2. Description of the Related Art
The pursuit for improved efficiencies in corporate computer infrastructure has resulted in an emerging trend to replace desktop computers with virtualized desktop infrastructure (VDI), where low complexity client devices connect to virtualized desktop computers located in a corporate data center via Local Area Network (LAN) or Wide Area Network (WAN). In such a model, high performance server computers in the data center each play host to many virtualized desktops and some form of remote computing protocol is deployed to facilitate the communication of the graphical user interface (GUI) from each virtualized desktop, typically to a corresponding remote client device. One challenge with such an approach relates to enabling network infrastructure to support the simultaneous communication of massive quantities of encoded media associated with many concurrent remote computing sessions without excessive network congestion. Such congestion causes packet loss or increased latency, either of which contributes to a degradation in the remote computing user experience. This is of particular significance to network protocols such as user datagram protocol (UDP) which lack inherent congestion control mechanisms.
Various explicit methods for managing network congestion related to continuous media streams, usually video, are known to the art. In the case of ACTIVE QUEUE MANAGEMENT (AQM), a network router drops packets when its buffers overflow. The specific AQM algorithm used in the Internet is called “Random Early Detection” (RED). Explicit Congestion Notification (ECN) is another method in which a bit in a packet en route to a client device is set by a network switch in the presence of congestion. The receiver then signals the congestion state to the transmitter during the packet acknowledgement process. In a related Forward Explicit Congestion Notification (FECN) method proposed for datacenter Ethernet networks, sources periodically generate probe packets that are modified by the switches along the path and then reflected by the receivers back to the sources. The sources react to the feedback received in the returning probes and set their video rate accordingly. If there are multiple congestion points on the path of a flow, multiple backward control messages will be sent back while only one of these—one with the highest level of congestion indication—will dominate the future rate of the flow. Backward Congestion Notification (BCN) is an alternative scheme proposed for congestion notification in datacenter Ethernet networks (under IEEE 802.1Qau group) in which congestion points signal the sender in the event of congestion, rather than requiring the receiver to reflect probe packets.
Datagram congestion control protocol (DCCP) and Dynamic Video Rate Control (DVRC) are other methods used in streaming video applications which rely on sender and receiver interaction to determine bandwidth and round trip time (RTT) estimates to facilitate adjusting the rate of the transmitted video stream.
The Asynchronous Transfer Mode (ATM) network architecture enables multimedia transport at guaranteed service levels using various traffic classes with different service policies. Constant bit rate (CBR) and variable bit rate (VBR) modes provide guaranteed cell rates negotiated during connection establishment, while available bite rate (ABR) mode uses available bandwidth to achieve further network utilization and the possibility of bandwidth renegotiation during transmission. Multimedia ATM architectures support continuous adjustment of the source rate based on congestion feedback information provided from the network while the connection remains active. In the presence of multiple video connections, fair bandwidth sharing or bandwidth scheduling methods may be used to allocate the bandwidth. However, such schemes lack flexibility to adjust to the time-varying nature of video.
Generally, methods directed to rate control of multiple media streams have not been optimized to meet the specific requirements of a VDI deployment in which network bandwidth and user experience associated with multiple concurrent remote computing sessions should be managed at a system level. Therefore, there is a need in the art for managing network congestion associated with multiple concurrent remote computing sessions.